﻿using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _24_C_中的List集合的去重问题
{
    internal class TestComper : IEqualityComparer<Person>
    {
        public bool Equals(Person? x, Person? y)
        {
            if (x == y) // 如果 x 和 y 是同一个引用或都是 null，返回 true
                return true;

            if (x == null || y == null) // 其中一个为 null，返回 false
                return false;

            return x.Id == y.Id; // 比较 Id
        }


        public int GetHashCode([DisallowNull] Person obj)
        {
            if (Equals(obj, null))
                return 0;
            return obj.Id.GetHashCode();
        }

    }
}
